// 这样的话无法对name 进行校验
// class People{
    // name:string = '';
// }
// let p  =new People();
// p.name = "xsxssxasxsaxasxaxas"

// -------------------------------------

class People{
    // 这里是一个私有的
    private _name:string = ""
    // 如果只写get 那就是只读属性
    get name():string{
        return this._name
    }
    // 如果只写set 那就无法获取了
    set name(value:string){
        // 在set里面这里添加相关的校验逻辑
        if (value.length<2 || value.length>5 ) {
            throw new Error('不合法')
        }
        this._name = value
    }
}

let p  =new People();
p.name = "123"